package com.cn.system.controller;

import com.cn.system.entity.BaseResponse;

import java.util.List;

public interface BaseController<T> {

  /**
   *  获取单条数据
   * @param id 唯一标识
   * @return  根据唯一标识查询数据，如果数据库中有数据，那么返回数据，否则放回null
   */
  default public BaseResponse<T> get(String id){
    return null;
  }

  /**
   * 获取数据库中所有数据
   *
   * @return 数据表中所有数据
   */
   public BaseResponse<T> list(int startIndex, int endIndex, T t);

  /**
   * 更新数据
   * @param t 根据实体类更新数据
   * @return  返回影响的行数
   */
   public BaseResponse<T> update(T t);

  /**
   * @Description: 根据ID删除数据
   * @param:   唯一标识
   * @return:
   * @date: 2020/3/13 18:02
   */
  public BaseResponse<T> delete(String id);

  /**
   * @Description: 添加数据
   * @param:
   * @return:
   * @date: 2020/3/13 18:03
   */
  public BaseResponse<T> add(T t);

}
